package helpers;

import java.awt.Component;
import javax.persistence.EntityManager;


public class DBHelper {
    
//    protected static final EntityManager em = javax.persistence.Persistence.createEntityManagerFactory("KLMRadioStationPU").createEntityManager();
//    
//    public static EntityManager getEM() {
//        return em;
//    }
    
    // Create στη ΒΔ
    public static void persist(Component c, EntityManager em, Object entity) {
        try {
            em.getTransaction().begin();
            em.persist(entity);
            em.getTransaction().commit();
        }
        catch (Exception exception){
            UIHelper.showError(c, "Παρουσιάστηκε σφάλμα κατά την διαδικασία αποθήκευσης στη ΒΔ:\n\n" + exception.getMessage());
        }
    }
    
    // Update στη ΒΔ
    public static void update(Component c, EntityManager em, Object entity) {
        try {
            em.getTransaction().begin();
            em.merge(entity);
            em.getTransaction().commit();
        }
        catch (Exception exception) {
            UIHelper.showError(c, "Παρουσιάστηκε σφάλμα κατά την διαδικασία αποθήκευσης στη ΒΔ:\n\n" + exception.getMessage());
        }
    }
    
    // Delete από τη ΒΔ
    public static void delete(Component c, EntityManager em, Object entity) {
        try {
            em.getTransaction().begin();
            em.remove(entity);
            em.getTransaction().commit();
        }
        catch (Exception exception) {
            UIHelper.showError(c, "Παρουσιάστηκε σφάλμα κατά την διαδικασία διαγραφής από τη ΒΔ:\n\n" + exception.getMessage());
        }
    }
}
